#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <string>
using namespace std;
#define int long long
#define pii pair<int,int>


//int n, res;
//string s, S, T;
//
//void solve() {
//	cin >> s; n = s.size();
//	for (int i = 0; i < n >> 1; i++)res += (s[i] != s[0]);
//	if (!res) {
//		cout << "Impossible\n";
//		return;
//	}
//	for (int i = 1; i <= n >> 1; i++) {
//		T = s.substr(i, n) + s.substr(0, i);
//		S = T; reverse(S.begin(), S.end());
//		if (S == T && S != s) {
//			cout << 1 << '\n';
//			return;
//		}
//	}
//	cout << 2 << '\n';
//}
//
//
//signed main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	solve();
//	return 0;
//}
//void solve() {
//	int ans = 0;
//	for (int i = 1; i <= 100; i++) {
//		for (int j = 2; j * 2 <= i; j++) {
//			if (i % j == 0) {
//				e[i].push_back(j);
//			}
//		}
//	}
//	cin >> n;
//	for (int i = 1; i <= n; i++) {
//		cin >> a[i];
//		ans += a[i];
//	}
//	sort(a + 1, a + 1 + n);
//	int tot = unique(a + 1, a + 1 + n) - a - 1;
//	int mi = a[1];
//
//	int maxn = 0;
//
//	for (int i = min(100LL, tot); i > 1; i--) {
//		for (int x : e[a[i]]) {
//			if (a[i] > mi * x) {
//				maxn = max(maxn, a[i] + mi - (a[i] / x + mi * x));
//			}
//		}
//	}
//	cout << ans - maxn << '\n';
//}


//void solve() {
//	int n, v;
//	cin >> n >> v;
//	int ans = 0;
//	int cur = 0;
//	if (v >= n) {
//		cout << n - 1 << '\n';
//		return;
//	}
//	for (int i = 1; i + v <= n; i++) {
//		ans += i * (v - cur);
//		cur = v;
//		cur--;
//	}
//	cout << ans << '\n';
//}